<?php
/**
 * deGetFile 遍历目录类
 * 返回数据是关联父节点的数组
 * 子元素pId = 父元素id
 */
function deGetFile( $path , $id = 1 , $pid = 0 ){
	static $id; // 设置静态变量保证id全局
	$basePath = !is_dir($path) ? dirname($path) : $path ; // 验证目录
	$arr = array();
	foreach( scandir($basePath) as $file ){ // 遍历目录
		$parentArr = array();
		$childArr = array();
		// 过滤当前目录和上级目录
		if ( !in_array($file, array('.', '..')) ) {
			$id++; // id自增
			$dirPath = $basePath.DIRECTORY_SEPARATOR.$file; // 新路径
			if( is_dir($dirPath) ){ // 判断是不是目录
				// 目录保存数据
				$parentArr = array(
					'id' => $id,
					'pId' => $pid,
					'name' => $file,
				);
				// 遍历子目录
				$childArr = getfiles($dirPath, $id, $id);
			} else {
				// 文件保存数据
				$parentArr = array(
					'id' => $id,
					'pId' => $pid,
					'name' => $file,
				);
			}
			$arr[] = $parentArr;
			// 将子目录中数据合并到总目录中
			$arr = array_merge($arr, $childArr);
		}
	}
	return $arr;
}


$ob = dirname('F:\\xampp\\htdocs\\aceditor\\ace.js');//目录
$row = deGetFile($ob);
p($row);die;

// 打印数据
function p($data){
	echo '<pre>';
	var_dump($data);
	echo '</pre>';
}